# 标准库导入
import os  
import shutil

# 标准库没法一步到位，实现我的功能，这里我们来自定义函数完成
def convert_csv_to_txt(src_folder="DataSet", dst_folder="newDataSet"):
    """
    将 src_folder 文件夹中的 .csv 文件转换为 .txt 文件，
    并保存到 dst_folder 中，保持目录结构不变。
    其他非 .csv 文件不处理。
    """
    if not os.path.exists(dst_folder):
        os.makedirs(dst_folder)

    for root, _, files in os.walk(src_folder):
        for file in files:
            if file.lower().endswith(".csv"):
                src_path = os.path.join(root, file)

                # 构建在新目录中的对应路径
                relative_path = os.path.relpath(root, src_folder)
                new_root = os.path.join(dst_folder, relative_path)
                os.makedirs(new_root, exist_ok=True)

                dst_path = os.path.join(new_root, file[:-4] + ".txt")

                # 复制并改名
                shutil.copy2(src_path, dst_path)
                print(f"保存: {src_path} -> {dst_path}")

# 调用函数
if __name__ == "__main__":
    src_folder = "04_Python_Practice/P01_BatchRenameUtil/DataSet"
    dst_folder = "04_Python_Practice/P01_BatchRenameUtil/newDataSet"
    convert_csv_to_txt(src_folder, dst_folder)
